package com.tedu.pm;

import java.awt.*;
import java.awt.event.KeyEvent;

/**
 * 对象与类的关系
 * 类：对具体事务的抽象；对按键、鼠标进行抽象
 * 复制
 * 粘贴
 * 回车
 * 消息轰炸：  原理：复制、粘贴，回车
 */
public class ClassTest {
    //声明robot对象
    private Robot robot;  //封装：把类属性私有，统一提供setget方法访问  安全性
    // alt+insert

    /**
     * 自动生成构造函数
     * @param robot
     */
    public ClassTest(Robot robot) {
        this.robot = robot;
    }

    // 复制操作  灰色：没有使用
    public void copy(){
        //需要选中、
        // 按下 ctrl
        robot.keyPress(KeyEvent.VK_CONTROL);// 0-255
        //按下 c
        robot.keyPress(KeyEvent.VK_C);
        //释放
        robot.keyRelease(KeyEvent.VK_CONTROL);
        robot.keyRelease(KeyEvent.VK_C);

    }

    //粘贴 ctrl+v
    public void paste(){
        //同时按下ctrl+v粘贴好 然后在同时释放ctrl+v，模拟粘贴键。
        robot.keyPress(KeyEvent.VK_CONTROL);
        robot.keyPress(KeyEvent.VK_V);
        robot.keyRelease(KeyEvent.VK_CONTROL);
        robot.keyRelease(KeyEvent.VK_V);
    }

    // 按下回车键、释放回车键（）
    public void enter(){
        //按下
        robot.keyPress(KeyEvent.VK_ENTER);
        //释放
        robot.keyRelease(KeyEvent.VK_ENTER);
    }

    /**
     * 延时
     * @param x  毫秒
     */
    public void sleep(int x){
        robot.delay(x);
    }
}
